﻿using System;

namespace Eassets.Layered.Domain.Asset
{
    [Serializable]
   public class Transaction
    {
        #region Fields

        /// <summary>
        /// The Transaction Id of the Transaction.
        /// </summary>
        private long transactionId;
        /// <summary>
        /// The Transaction Type Id of the Transaction.
        /// </summary>
        private string transactionTypeCode;
        /// <summary>
        /// The Transaction Document Id of the Transaction.
        /// </summary>
        private string transactionDocumentCode;
        /// <summary>
        /// The Company Id of the Transaction.
        /// </summary>
        private long companyId;
        /// <summary>
        /// The Business Unit List Id of the Transaction.
        /// </summary>
        private long organizationLevelListId;
        /// <summary>
        /// The Transaction No of the Transaction.
        /// </summary>
        private string transactionNo = string.Empty;
        /// <summary>
        /// The Transaction User Id of the Transaction.
        /// </summary>
        private long transactionUserId;
        /// <summary>
        /// The Transaction Status of the Transaction.
        /// </summary>
        private string transactionStatus = string.Empty;
        /// <summary>
        /// The Transaction Date of the Transaction.
        /// </summary>
        private DateTime transactionDate;
        /// <summary>
        /// The Transaction Confirm Date of the Transaction.
        /// </summary>
        private DateTime transactionConfirmDate;

        #endregion

        #region Properties


        /// <summary>
        /// Gets or sets the Transaction Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Id of the Transaction.
        /// </value>
        public long TransactionId
        {
            get
            {
                return this.transactionId;
            }
            set
            {
                this.transactionId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Type Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Type Id of the Transaction.
        /// </value>
        public string TransactionTypeCode
        {
            get
            {
                return this.transactionTypeCode;
            }
            set
            {
                this.transactionTypeCode = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Document Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Document Id of the Transaction.
        /// </value>
        public string TransactionDocumentCode
        {
            get
            {
                return this.transactionDocumentCode;
            }
            set
            {
                this.transactionDocumentCode = value;
            }
        }

        /// <summary>
        /// Gets or sets the Company Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Company Id of the Transaction.
        /// </value>
        public long CompanyId
        {
            get
            {
                return this.companyId;
            }
            set
            {
                this.companyId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Business Unit List Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Business Unit List Id of the Transaction.
        /// </value>
        public long OrganizationLevelListId
        {
            get
            {
                return this.organizationLevelListId;
            }
            set
            {
                this.organizationLevelListId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction No of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction No of the Transaction.
        /// </value>
        public string TransactionNo
        {
            get
            {
                return this.transactionNo;
            }
            set
            {
                this.transactionNo = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction User Id of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction User Id of the Transaction.
        /// </value>
        public long TransactionUserId
        {
            get
            {
                return this.transactionUserId;
            }
            set
            {
                this.transactionUserId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Status of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Status of the Transaction.
        /// </value>
        public string TransactionStatus
        {
            get
            {
                return this.transactionStatus;
            }
            set
            {
                this.transactionStatus = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Date of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Date of the Transaction.
        /// </value>
        public DateTime TransactionDate
        {
            get
            {
                return this.transactionDate;
            }
            set
            {
                this.transactionDate = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Confirm Date of the Transaction.
        /// </summary>
        /// <value>
        /// The Transaction Confirm Date of the Transaction.
        /// </value>
        public DateTime TransactionConfirmDate
        {
            get
            {
                return this.transactionConfirmDate;
            }
            set
            {
                this.transactionConfirmDate = value;
            }
        }

        #endregion

    }
}
